package com.baiduface.template;

import com.baidu.aip.face.AipFace;
import com.baiduface.properties.BaiduFaceProperties;
import org.json.JSONObject;

import java.util.HashMap;

public class BaiduFaceTemplate {

    private BaiduFaceProperties baiduFaceProperties;

    private AipFace client;
    public BaiduFaceTemplate(BaiduFaceProperties baiduFaceProperties) {
        this.baiduFaceProperties = baiduFaceProperties;
        // 初始化一个AipFace
        this.client = new AipFace(baiduFaceProperties.getAppId(),
                                    baiduFaceProperties.getApiKey(),
                                    baiduFaceProperties.getSecretKey());
    }



    public JSONObject detectImg(String imageURL) {

        // 可选：设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);

        // 可选：设置代理服务器地址, http和socket二选一，或者均不设置
//        client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
//        client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理
        HashMap<String, String> options = new HashMap<String, String>();
        options.put("face_field", "age");
        options.put("max_face_num", "2");
        options.put("face_type", "LIVE");
        options.put("liveness_control", "LOW");
        // 调用接口
        String imageType = "URL";

        // 人脸检测
        JSONObject res = client.detect(imageURL, imageType, options);
        System.out.println(res.toString(2));
        return res;

    }
}
